package com.yc.thread;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 精灵线程：又叫守护线程
 * t2.setDaemon(true);
 * 其它线程运行完成，则精灵线程也over
 * 垃圾回收,资源回收代码
 */
public class Test10_daemon {
    public static void main(String[] args) {
        Thread t1= new CommonThread();
        Thread t2= new Thread();//新建任务，再绑定一个线程上
        //TODO:设置为守护线程
        t2.setDaemon(true);
        //正确做法：线程运行前设置守护线程
        t2.start();
        t1.start();
        System.out.println("主程序已经运行完了");
    }
}

class CommonThread extends Thread{
    public void run(){
        for(int i =0;i<3;i++){
            System.out.println("用户线程第"+i+"次执行");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

//任务类
class MyDaemo implements Runnable{
    @Override
    public void run(){
        for(int i =0;i<20;i++){
            System.out.println("守护线程第"+i+"次执行");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

